package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.SaleBonusReport;

import java.util.*;
public class SaleBonusReportExample extends SgExample<SaleBonusReportExample.Criteria> {
    public static final Class<SaleBonusReport> beanClass = SaleBonusReport.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn date;
    public static EntityColumn waitStaff;
    public static EntityColumn reportId;
    public static EntityColumn waitBoss;
    public static EntityColumn saleOwner;
    public static EntityColumn saleBoss;
    public static EntityColumn saleWaitBonus;
    public static EntityColumn saleStaff;
    public static EntityColumn waitOwner;
    public static EntityColumn saleSendBonus;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        date = listMap.get("date");
        waitStaff = listMap.get("waitStaff");
        reportId = listMap.get("reportId");
        waitBoss = listMap.get("waitBoss");
        saleOwner = listMap.get("saleOwner");
        saleBoss = listMap.get("saleBoss");
        saleWaitBonus = listMap.get("saleWaitBonus");
        saleStaff = listMap.get("saleStaff");
        waitOwner = listMap.get("waitOwner");
        saleSendBonus = listMap.get("saleSendBonus");
        }

    public SaleBonusReportExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected SaleBonusReportExample.Criteria createCriteriaInternal() {
        return new SaleBonusReportExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public SaleBonusReportExample.Criteria andDateIsNull() {
            return isNull(date);
        }

        public SaleBonusReportExample.Criteria andDateIsNotNull() {
            return isNotNull(date);
        }

        public SaleBonusReportExample.Criteria andDateEqualTo(String value) {
            return equalTo(date, value);
        }

        public SaleBonusReportExample.Criteria andDateNotEqualTo(String value) {
            return notEqualTo(date, value);
        }

        public SaleBonusReportExample.Criteria andDateGreaterThan(String value) {
            return greaterThan(date, value);
        }

        public SaleBonusReportExample.Criteria andDateGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(date, value);
        }

        public SaleBonusReportExample.Criteria andDateLessThan(String value) {
            return lessThan(date, value);
        }

        public SaleBonusReportExample.Criteria andDateLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(date, value);
        }

        public SaleBonusReportExample.Criteria andDateLike(String value) {
            return like(date, value);
        }

        public SaleBonusReportExample.Criteria andDateNotLike(String value) {
            return notLike(date, value);
        }

        public SaleBonusReportExample.Criteria andDateIn(List<String> values) {
            return in(date, values);
        }

        public SaleBonusReportExample.Criteria andDateNotIn(List<String> values) {
            return notIn(date, values);
        }

        public SaleBonusReportExample.Criteria andDateBetween(String value1, String value2) {
            return between(date, value1, value2);
        }

        public SaleBonusReportExample.Criteria andDateNotBetween(String value1, String value2) {
            return notBetween(date, value1, value2);
        }
        public SaleBonusReportExample.Criteria andWaitStaffIsNull() {
            return isNull(waitStaff);
        }

        public SaleBonusReportExample.Criteria andWaitStaffIsNotNull() {
            return isNotNull(waitStaff);
        }

        public SaleBonusReportExample.Criteria andWaitStaffEqualTo(String value) {
            return equalTo(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffNotEqualTo(String value) {
            return notEqualTo(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffGreaterThan(String value) {
            return greaterThan(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffLessThan(String value) {
            return lessThan(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffLike(String value) {
            return like(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffNotLike(String value) {
            return notLike(waitStaff, value);
        }

        public SaleBonusReportExample.Criteria andWaitStaffIn(List<String> values) {
            return in(waitStaff, values);
        }

        public SaleBonusReportExample.Criteria andWaitStaffNotIn(List<String> values) {
            return notIn(waitStaff, values);
        }

        public SaleBonusReportExample.Criteria andWaitStaffBetween(String value1, String value2) {
            return between(waitStaff, value1, value2);
        }

        public SaleBonusReportExample.Criteria andWaitStaffNotBetween(String value1, String value2) {
            return notBetween(waitStaff, value1, value2);
        }
        public SaleBonusReportExample.Criteria andReportIdIsNull() {
            return isNull(reportId);
        }

        public SaleBonusReportExample.Criteria andReportIdIsNotNull() {
            return isNotNull(reportId);
        }

        public SaleBonusReportExample.Criteria andReportIdEqualTo(Long value) {
            return equalTo(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdNotEqualTo(Long value) {
            return notEqualTo(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdGreaterThan(Long value) {
            return greaterThan(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdLessThan(Long value) {
            return lessThan(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(reportId, value);
        }

        public SaleBonusReportExample.Criteria andReportIdIn(List<Long> values) {
            return in(reportId, values);
        }

        public SaleBonusReportExample.Criteria andReportIdNotIn(List<Long> values) {
            return notIn(reportId, values);
        }

        public SaleBonusReportExample.Criteria andReportIdBetween(Long value1, Long value2) {
            return between(reportId, value1, value2);
        }

        public SaleBonusReportExample.Criteria andReportIdNotBetween(Long value1, Long value2) {
            return notBetween(reportId, value1, value2);
        }
        public SaleBonusReportExample.Criteria andWaitBossIsNull() {
            return isNull(waitBoss);
        }

        public SaleBonusReportExample.Criteria andWaitBossIsNotNull() {
            return isNotNull(waitBoss);
        }

        public SaleBonusReportExample.Criteria andWaitBossEqualTo(String value) {
            return equalTo(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossNotEqualTo(String value) {
            return notEqualTo(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossGreaterThan(String value) {
            return greaterThan(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossLessThan(String value) {
            return lessThan(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossLike(String value) {
            return like(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossNotLike(String value) {
            return notLike(waitBoss, value);
        }

        public SaleBonusReportExample.Criteria andWaitBossIn(List<String> values) {
            return in(waitBoss, values);
        }

        public SaleBonusReportExample.Criteria andWaitBossNotIn(List<String> values) {
            return notIn(waitBoss, values);
        }

        public SaleBonusReportExample.Criteria andWaitBossBetween(String value1, String value2) {
            return between(waitBoss, value1, value2);
        }

        public SaleBonusReportExample.Criteria andWaitBossNotBetween(String value1, String value2) {
            return notBetween(waitBoss, value1, value2);
        }
        public SaleBonusReportExample.Criteria andSaleOwnerIsNull() {
            return isNull(saleOwner);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerIsNotNull() {
            return isNotNull(saleOwner);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerEqualTo(String value) {
            return equalTo(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerNotEqualTo(String value) {
            return notEqualTo(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerGreaterThan(String value) {
            return greaterThan(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerLessThan(String value) {
            return lessThan(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerLike(String value) {
            return like(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerNotLike(String value) {
            return notLike(saleOwner, value);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerIn(List<String> values) {
            return in(saleOwner, values);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerNotIn(List<String> values) {
            return notIn(saleOwner, values);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerBetween(String value1, String value2) {
            return between(saleOwner, value1, value2);
        }

        public SaleBonusReportExample.Criteria andSaleOwnerNotBetween(String value1, String value2) {
            return notBetween(saleOwner, value1, value2);
        }
        public SaleBonusReportExample.Criteria andSaleBossIsNull() {
            return isNull(saleBoss);
        }

        public SaleBonusReportExample.Criteria andSaleBossIsNotNull() {
            return isNotNull(saleBoss);
        }

        public SaleBonusReportExample.Criteria andSaleBossEqualTo(String value) {
            return equalTo(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossNotEqualTo(String value) {
            return notEqualTo(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossGreaterThan(String value) {
            return greaterThan(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossLessThan(String value) {
            return lessThan(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossLike(String value) {
            return like(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossNotLike(String value) {
            return notLike(saleBoss, value);
        }

        public SaleBonusReportExample.Criteria andSaleBossIn(List<String> values) {
            return in(saleBoss, values);
        }

        public SaleBonusReportExample.Criteria andSaleBossNotIn(List<String> values) {
            return notIn(saleBoss, values);
        }

        public SaleBonusReportExample.Criteria andSaleBossBetween(String value1, String value2) {
            return between(saleBoss, value1, value2);
        }

        public SaleBonusReportExample.Criteria andSaleBossNotBetween(String value1, String value2) {
            return notBetween(saleBoss, value1, value2);
        }
        public SaleBonusReportExample.Criteria andSaleWaitBonusIsNull() {
            return isNull(saleWaitBonus);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusIsNotNull() {
            return isNotNull(saleWaitBonus);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusEqualTo(String value) {
            return equalTo(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusNotEqualTo(String value) {
            return notEqualTo(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusGreaterThan(String value) {
            return greaterThan(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusLessThan(String value) {
            return lessThan(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusLike(String value) {
            return like(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusNotLike(String value) {
            return notLike(saleWaitBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusIn(List<String> values) {
            return in(saleWaitBonus, values);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusNotIn(List<String> values) {
            return notIn(saleWaitBonus, values);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusBetween(String value1, String value2) {
            return between(saleWaitBonus, value1, value2);
        }

        public SaleBonusReportExample.Criteria andSaleWaitBonusNotBetween(String value1, String value2) {
            return notBetween(saleWaitBonus, value1, value2);
        }
        public SaleBonusReportExample.Criteria andSaleStaffIsNull() {
            return isNull(saleStaff);
        }

        public SaleBonusReportExample.Criteria andSaleStaffIsNotNull() {
            return isNotNull(saleStaff);
        }

        public SaleBonusReportExample.Criteria andSaleStaffEqualTo(String value) {
            return equalTo(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffNotEqualTo(String value) {
            return notEqualTo(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffGreaterThan(String value) {
            return greaterThan(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffLessThan(String value) {
            return lessThan(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffLike(String value) {
            return like(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffNotLike(String value) {
            return notLike(saleStaff, value);
        }

        public SaleBonusReportExample.Criteria andSaleStaffIn(List<String> values) {
            return in(saleStaff, values);
        }

        public SaleBonusReportExample.Criteria andSaleStaffNotIn(List<String> values) {
            return notIn(saleStaff, values);
        }

        public SaleBonusReportExample.Criteria andSaleStaffBetween(String value1, String value2) {
            return between(saleStaff, value1, value2);
        }

        public SaleBonusReportExample.Criteria andSaleStaffNotBetween(String value1, String value2) {
            return notBetween(saleStaff, value1, value2);
        }
        public SaleBonusReportExample.Criteria andWaitOwnerIsNull() {
            return isNull(waitOwner);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerIsNotNull() {
            return isNotNull(waitOwner);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerEqualTo(String value) {
            return equalTo(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerNotEqualTo(String value) {
            return notEqualTo(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerGreaterThan(String value) {
            return greaterThan(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerLessThan(String value) {
            return lessThan(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerLike(String value) {
            return like(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerNotLike(String value) {
            return notLike(waitOwner, value);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerIn(List<String> values) {
            return in(waitOwner, values);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerNotIn(List<String> values) {
            return notIn(waitOwner, values);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerBetween(String value1, String value2) {
            return between(waitOwner, value1, value2);
        }

        public SaleBonusReportExample.Criteria andWaitOwnerNotBetween(String value1, String value2) {
            return notBetween(waitOwner, value1, value2);
        }
        public SaleBonusReportExample.Criteria andSaleSendBonusIsNull() {
            return isNull(saleSendBonus);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusIsNotNull() {
            return isNotNull(saleSendBonus);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusEqualTo(String value) {
            return equalTo(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusNotEqualTo(String value) {
            return notEqualTo(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusGreaterThan(String value) {
            return greaterThan(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusLessThan(String value) {
            return lessThan(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusLike(String value) {
            return like(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusNotLike(String value) {
            return notLike(saleSendBonus, value);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusIn(List<String> values) {
            return in(saleSendBonus, values);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusNotIn(List<String> values) {
            return notIn(saleSendBonus, values);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusBetween(String value1, String value2) {
            return between(saleSendBonus, value1, value2);
        }

        public SaleBonusReportExample.Criteria andSaleSendBonusNotBetween(String value1, String value2) {
            return notBetween(saleSendBonus, value1, value2);
        }
    }
}